In current communication systems, various network functions (NFs) such as BRAS (Broadband Remote Access Server), NAT (Network Address Translation), router, firewall (FW: Firewall), and DPI (Deep Packet Inspection) are implemented by dedicated hardware equipment (appliances). Accordingly, when a network operator launches a new network service, the network operator is forced to introduce new dedicated hardware equipment and requires a lot of costs such as purchase expenses, installation spaces and the like for the equipment. In the light of such circumstances, studies have been made in recent years on a technology (Network Function Virtualization) that uses software to virtually execute network functions, which have been executed by hardware equipment (NPL 1). As an example of network service virtualization, PTL 1 discloses a method in which a plurality of virtual routers are constructed on a communication node apparatus, and resources for these virtual routers are dynamically allocated according to communication quality.
Moreover, another technology has also been studied in which a communication flow is made over a communication path through which a plurality of virtual network functions (VNFs) are combined, thereby providing various communication services (for example, see NPL 2).
In Virtualization of network functions, as illustrated in FIG. 1, a network service is configured and managed based on logical connections between virtual network functions VNF (Forwarding Graph). Here illustrated is a network service including three virtual network functions VNF#1 to VNF#3 in an overlay network.
The virtual network functions VNF#1 to VNF#3 in this forwarding graph are mapped to a path in an underlay network (physical layer network). For example, assuming that the virtual network functions VNF#1 to VNF#3 are individually implemented by virtual machines on physical servers SV1 and SV2, the following path may be selected: physical switch A-physical switch B-physical server SV1-physical switch B-physical server SV2-physical switch C, or another path may be selected. An algorithm for path selection at each node is discussed in, for example, NPLs 3 and 4.